package s.n.bespin.io;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import s.n.bespin.di.annotation.Singleton;

/**
 * 標準入力から1行分の文字列を読み込むためのメソッドを提供するクラス。
 * 
 * @author NAGAI Satoshi
 */
@Singleton
public class CommandLineReader implements Reader {

	/** バッファ付き文字入力ストリーム */
	private BufferedReader br;

	/**
	 * 新しい{@code CommandLineReader}クラスのインスタンスを作成します。
	 */
	public CommandLineReader() {
		br = new BufferedReader(new InputStreamReader(System.in));
	}

	/**
	 * {@inheritDoc}
	 * 
	 * @see s.n.bespin.io.Reader#read()
	 */
	@Override
	public String read() throws IOException {
		return br.readLine();
	}
}
